package com.ruoyi.waterManagement.service;

import java.io.IOException;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.core.domain.business.waterManagement.RelZQ;

import javax.servlet.http.HttpServletResponse;

/**
 * 水位流量关系对照Service接口
 * 
 * @author hwd
 * @date 2023-02-23
 */
public interface IRelZQService  extends IService<RelZQ>
{
    /**
     * 查询水位流量关系对照
     * 
     * @param statCd 水位流量关系对照主键
     * @return 水位流量关系对照
     */
    public RelZQ selectRelZQByStatCd(String statCd);

    /**
     * 查询水位流量关系对照列表
     * 
     * @param relZQ 水位流量关系对照
     * @return 水位流量关系对照集合
     */
    public List<RelZQ> selectRelZQList(RelZQ relZQ);

    /**
     * 新增水位流量关系对照
     * 
     * @param relZQ 水位流量关系对照
     * @return 结果
     */
    public int insertRelZQ(RelZQ relZQ);

    /**
     * 修改水位流量关系对照
     * 
     * @param relZQ 水位流量关系对照
     * @return 结果
     */
    public int updateRelZQ(RelZQ relZQ);

    /**
     * 批量删除水位流量关系对照
     * 
     * @param statCds 需要删除的水位流量关系对照主键集合
     * @return 结果
     */
    public int deleteRelZQByStatCds(String[] statCds);

    /**
     * 删除水位流量关系对照信息
     * 
     * @param statCd 水位流量关系对照主键
     * @return 结果
     */
    public int deleteRelZQByStatCd(String statCd);

    /**
     * 跟据测站代码查询水位流量关系曲线名称
     *
     * @param statCd 水位流量关系对照主键
     * @return 结果
     */
    public List<RelZQ> selCurvNmByStatCd(String statCd);

    /**
     * 查询水位流量换算表
     * @param relZQS1
     * @return
     */
    public Map<Integer, Map<Integer, BigDecimal>>  selectRelZQListMap(List<RelZQ> relZQS1);
    /**
     * 关闭测站水位流量关系曲线启动状态
     *
     * @param relZQ 测站水位流量关系曲线
     * @return 结果
     */
    public int updateRelZQEnabType(RelZQ relZQ);

    /**
     * 查询测站水位流量关系曲线表 默认先查启动的，否则按照ENAB_TM时间排序取第一个
     * @param statCd 测站代码
     * @param curvNm 曲线名称
     * @return
     */
    public RelZQ selQXByStatCdAndCurvNm(String statCd,String curvNm);

    /**
     * 下载水位流量对照导入模板
     * @param response
     * @throws IOException
     */
    public void exportExcel(HttpServletResponse response) throws IOException;

    /**
     * 导入水位流量关闭表数据
     * @param relZQList
     * @return
     */
    public Boolean importRelZQList( List<RelZQ> relZQList);
}
